package blue.squares;

import android.graphics.Point;

/**
 *
 * @author James Bruce
 */
public abstract class Strategy {
    // ------------------------------------------------------------------------
    // Fields.
    // ------------------------------------------------------------------------

    final Game _game;
    final Player _player;
    Point _moveChoice;

    // ------------------------------------------------------------------------
    // Implementation.
    // ------------------------------------------------------------------------

    public Strategy(Game game, Player player) {
        _game = game;
        _player = player;
    }

    final public Point getMoveChoice() {
        return _moveChoice;
    }

    final public void think() {
        _moveChoice = chooseMove();
    }

    public abstract Point chooseMove();
}
